Django ডিফল্টভাবে SQLite ডাটাবেস ব্যবহার করে, যা একটি হালকা ও সহজ ডাটাবেস সমাধান। তবে, Django আপনাকে বিভিন্ন ডাটাবেস ব্যবহারের সুবিধা দেয়, যেমন MySQL এবং PostgreSQL। এখানে আমরা Django প্রজেক্টে SQLite, MySQL, এবং PostgreSQL ডাটাবেস কনফিগারেশন কিভাবে করবেন, তা আলোচনা করব।
SQLite (ডিফল্ট ডাটাবেস)
Django প্রজেক্ট তৈরি করার সময় SQLite ডাটাবেস ডিফল্টভাবে কনফিগার করা থাকে। এটি একটি ফাইল-ভিত্তিক ডাটাবেস, যা সহজে ব্যবহৃত হয় ছোট প্রোজেক্ট এবং ডেভেলপমেন্ট পর্যায়ের জন্য।
১. SQLite ডাটাবেস কনফিগারেশন
Django-তে SQLite কনফিগারেশন ডিফল্টভাবে settings.py ফাইলে থাকে। এটি সাধারণত নিম্নরূপ থাকে:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': BASE_DIR / 'db.sqlite3',
}
}
এখানে:
ENGINE: ডাটাবেসের ইঞ্জিন, যেটি SQLite।NAME: ডাটাবেসের নাম, যেখানেBASE_DIRআপনার প্রোজেক্টের রুট ডিরেক্টরি।
SQLite ডাটাবেসের ক্ষেত্রে কোনো আলাদা সার্ভার বা অতিরিক্ত কনফিগারেশন প্রয়োজন নেই। এটি আপনার প্রোজেক্টের রুট ফোল্ডারে একটি db.sqlite3 ফাইল তৈরি করে।
MySQL ডাটাবেস কনফিগারেশন
MySQL একটি জনপ্রিয় এবং শক্তিশালী রিলেশনাল ডাটাবেস, যা বৃহৎ এবং স্কেলেবল প্রোজেক্টগুলির জন্য ব্যবহৃত হয়। Django প্রজেক্টে MySQL ব্যবহার করতে হলে, আপনাকে কিছু অতিরিক্ত স্টেপ ফলো করতে হবে।
১. MySQL ইনস্টলেশন
প্রথমে MySQL ইনস্টল করতে হবে। আপনার অপারেটিং সিস্টেম অনুযায়ী এটি ইনস্টল করতে পারেন।
Ubuntu:
sudo apt-get install mysql-server- Windows/Mac: MySQL ডাউনলোড করতে MySQL এর অফিসিয়াল সাইটে যান এবং আপনার অপারেটিং সিস্টেম অনুযায়ী ইনস্টল করুন।
২. MySQL ড্রাইভার ইনস্টল করা
Django-কে MySQL ডাটাবেসের সাথে সংযোগ করতে mysqlclient অথবা PyMySQL ড্রাইভার ব্যবহার করা হয়।
mysqlclient ইনস্টল করতে:
pip install mysqlclientPyMySQL ইনস্টল করতে:
pip install PyMySQL
৩. MySQL কনফিগারেশন
settings.py ফাইলে DATABASES সেকশনে MySQL এর কনফিগারেশনটি এইভাবে করা হবে:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'your_database_name',
'USER': 'your_mysql_user',
'PASSWORD': 'your_mysql_password',
'HOST': 'localhost',
'PORT': '3306',
}
}
এখানে:
ENGINE: MySQL ডাটাবেস ইঞ্জিন।NAME: MySQL ডাটাবেসের নাম।USER: MySQL ব্যবহারকারীর নাম।PASSWORD: ব্যবহারকারীর পাসওয়ার্ড।HOST: সার্ভারের হোস্ট (সাধারণতlocalhost)।PORT: MySQL সার্ভারের পোর্ট (ডিফল্ট:3306)।
৪. MySQL ডাটাবেস তৈরি করা
MySQL এ একটি ডাটাবেস তৈরি করতে, MySQL শেলের মাধ্যমে নিচের কমান্ডটি চালান:
CREATE DATABASE your_database_name;
PostgreSQL ডাটাবেস কনফিগারেশন
PostgreSQL একটি শক্তিশালী, ওপেন সোর্স রিলেশনাল ডাটাবেস, যা অনেক বড় অ্যাপ্লিকেশন এবং বড় স্কেল প্রোজেক্টের জন্য উপযুক্ত।
১. PostgreSQL ইনস্টলেশন
PostgreSQL ইনস্টল করতে হলে, প্রথমে PostgreSQL ইনস্টল করতে হবে:
Ubuntu:
sudo apt-get install postgresql postgresql-contrib- Windows/Mac: PostgreSQL ডাউনলোড করতে PostgreSQL এর অফিসিয়াল সাইটে যান এবং আপনার অপারেটিং সিস্টেম অনুযায়ী ইনস্টল করুন।
২. PostgreSQL ড্রাইভার ইনস্টল করা
Django-কে PostgreSQL ডাটাবেসের সাথে সংযোগ করতে psycopg2 ড্রাইভার ব্যবহার করা হয়।
pip install psycopg2
৩. PostgreSQL কনফিগারেশন
PostgreSQL ডাটাবেস কনফিগারেশন settings.py ফাইলে হবে এইভাবে:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'NAME': 'your_database_name',
'USER': 'your_postgresql_user',
'PASSWORD': 'your_postgresql_password',
'HOST': 'localhost',
'PORT': '5432',
}
}
এখানে:
ENGINE: PostgreSQL ডাটাবেস ইঞ্জিন।NAME: PostgreSQL ডাটাবেসের নাম।USER: PostgreSQL ব্যবহারকারীর নাম।PASSWORD: ব্যবহারকারীর পাসওয়ার্ড।HOST: সার্ভারের হোস্ট (সাধারণতlocalhost)।PORT: PostgreSQL সার্ভারের পোর্ট (ডিফল্ট:5432)।
৪. PostgreSQL ডাটাবেস তৈরি করা
PostgreSQL এ একটি ডাটাবেস তৈরি করতে, PostgreSQL শেলের মাধ্যমে নিচের কমান্ডটি চালান:
CREATE DATABASE your_database_name;
মাইগ্রেশন এবং ডাটাবেস ব্যবহার শুরু করা
ডাটাবেস কনফিগারেশন সম্পন্ন হওয়ার পর, আপনাকে Django প্রজেক্টে মাইগ্রেশন চালাতে হবে, যাতে ডাটাবেস টেবিল তৈরি হতে পারে।
১. মাইগ্রেশন চালানো
python manage.py migrate
এটি Django এর ডিফল্ট অ্যাপ্লিকেশন এবং আপনার প্রোজেক্টের জন্য প্রাথমিক ডাটাবেস টেবিল তৈরি করবে।
সারাংশ
- SQLite: ডিফল্ট ডাটাবেস, কোন অতিরিক্ত কনফিগারেশন প্রয়োজন হয় না।
- MySQL: শক্তিশালী ডাটাবেস,
mysqlclientবাPyMySQLড্রাইভার দিয়ে সংযোগ। - PostgreSQL: ওপেন সোর্স, শক্তিশালী ডাটাবেস,
psycopg2ড্রাইভার দিয়ে সংযোগ।
Django প্রজেক্টে SQLite, MySQL, বা PostgreSQL যেকোনো একটি ডাটাবেস ব্যবহার করতে পারেন এবং এর কনফিগারেশন settings.py ফাইলে পরিবর্তন করে এটি কাস্টমাইজ করা হয়।
Read more